home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
UNIXTOOL
/
MEMACS
/
Cmd
/
Shell
< prev
next >
Wrap
Text File
|
1991-06-15
|
2KB
|
129 lines
; Shell.cmd: MSDOS shell within MicroEMACS
; written 1987 by Daniel Lawrence
write-message "[Setting up SHELL window]"
store-procedure getdir
shell-command "cd > eshell"
set %shtmp $cbufname
!force delete-buffer eshell
find-file eshell
beginning-of-file
set %shdir $line
select-buffer %shtmp
delete-buffer eshell
!endm
store-procedure prompt
!if ¬ &equ $curcol 0
newline
!endif
!if ¬ &seq $line ""
open-line
!endif
insert-string &cat %shdir ">"
!endm
store-procedure getline
beginning-of-line
set %shtmp $curline
!force search-forward ">"
!if ¬ &equ $curline %shtmp
set $curline %shtmp
!endif
!if &equ $curchar 10
set %shline ""
!else
kill-to-end-of-line
yank
set %shline $kill
!endif
newline
!endm
store-procedure execline
shell-command &cat %shline " > shtmp"
!force insert-file shtmp
!endm
; prompt and execute a command
4 store-macro
run getline
!if ¬ &seq %shline ""
!if &or &seq &left %shline 2 "cd" &seq &right %shline 1 ":"
shell-command %shline
run getdir
!else
run execline
!endif
!endif
run prompt
!endm
store-procedure checkmode
!if &and %shmode ¬ &seq $cbufname "[I-SHELL]"
set $discmd FALSE
bind-to-key newline ^M
add-mode blue
add-mode WHITE
write-message "[Exiting Shell window]"
set %shmode FALSE
set $discmd TRUE
!endif
!if &and ¬ %shmode &seq $cbufname "[I-SHELL]"
set $discmd FALSE
write-message "[Entering Shell window]"
bind-to-key execute-macro-4 ^M
run getdir
add-mode black
add-mode GREEN
end-of-file
run prompt
set %shmode TRUE
set $discmd TRUE
!endif
!endm
; window movement (and deactivate us)
5 store-macro
next-window
run checkmode
!endm
6 store-macro
previous-window
run checkmode
!endm
7 store-macro
delete-window
run checkmode
!endm
8 store-macro
find-file @"Find file:"
run checkmode
!endm
9 store-macro
next-buffer
run checkmode
!endm
store-procedure openshell
set $discmd FALSE
bind-to-key execute-macro-5 ^XO
bind-to-key execute-macro-6 ^XP
bind-to-key execute-macro-7 ^X0
bind-to-key execute-macro-8 ^X^F
bind-to-key execute-macro-9 ^XX
select-buffer "[I-SHELL]"
run checkmode
set $discmd TRUE
!endm
set %shmode FALSE
run openshell